import pandas as pd
import numpy as np

# 生成模拟数据 - 增强版
np.random.seed(42)
data = []

for spu in ['A001', 'A002', 'B001']:
    cart_total = np.random.randint(500, 2000)
    new_sale = np.random.randint(20, 100)

    # 生成45天的动态数据（提供更多训练样本）
    base_sales = []
    for day in range(1, 46):
        # 基础销量（指数衰减）
        base_sale = 100 * np.exp(-0.05 * day) + np.random.normal(0, 10)

        # # 添加周周期性（周末销量增加）
        # if day % 7 == 6:  # 周六（第7天为周六）
        #     base_sale *= 1.5
        # elif day % 7 == 0:  # 周日（第7天为周日）
        #     base_sale *= 1.8

        # 确保非负并取整
        sale_qty = max(0, int(base_sale))

        data.append({
            'spu_code': spu,
            'sum_cart_total': cart_total,
            'new_sale_qty': new_sale,
            'days_since_launch': day,
            'sale_qty': sale_qty
        })

# 创建DataFrame并保存
df = pd.DataFrame(data)
df.to_excel("enhanced_sales_data.xlsx", index=False)
print("增强版模拟数据已生成并保存为 enhanced_sales_data.xlsx")
print(f"数据量: {len(df)}条记录")
print(f"款号数量: {df['spu_code'].nunique()}")
print("数据示例:")
print(df.head(10))